@import '../styles-variables';

.theme-wrapper {
  height: 100%;
  width: 100%;
}

mat-sidenav-container {
  height: 100%;
  width: 100%;

  .toolbar {
    position: fixed;
    width: 100%;
    display: flex;
    z-index: 10;

    .nav-button {
      margin: 0 10px 0 0;
    }

    fa-icon {
      font-size: 24px;
    }

    .branding {
      cursor: pointer;
      overflow: hidden;
      padding-top: 4px;
      text-overflow: ellipsis;

      &.center {
        text-align: center;
      }

      img {
        position: relative;
        top: -2px;
        width: 48px;
        height: 48px;
      }
    }

    .mat-stroked-button {
      margin-right: 10px;
    }

    .spacer {
      flex: 1 1 auto;
    }

    mat-select {
      margin: 0 0 0 20px;
      width: 40px;
      font-size: 14px;
    }

    @media (max-width: map-get($grid-breakpoints, lg)) {
      .nav-button {
        min-width: 0;
        padding: 0 10px;
      }
    }
  }

  .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;

    .content {
      flex: 1 0 auto;
      margin-top: 64px;
      overflow: hidden;
    }

    .footer {
      flex: 0 0 auto;
      padding: 0 15px;
      text-align: center;

      .row {
        padding: 10px 0;

        .links {
          a {
            transition: padding 0.5s;
            display: inline-block;
            padding: 20px 5px;

            &:hover {
              text-decoration: none;
            }

            fa-icon {
              font-size: 30px;
              width: 35px;
            }

            span {
              display: inline-block;
              width: 75px;
              padding: 0 0 0 3px;
              overflow: hidden;
              text-align: left;
              white-space: nowrap;
              transition: width 0.5s;
            }
          }

          @media (min-width: map-get($grid-breakpoints, lg)) {
            a {
              padding: 20px 10px;
            }
          }

          @media (max-width: map-get($grid-breakpoints, md)) {
            a {
              padding: 20px;

              span {
                width: 0;
                padding: 0;
              }
            }
          }

          @media (max-width: map-get($grid-breakpoints, sm)) {
            a {
              padding: 20px 5px;
            }
          }
        }

        @media (min-width: map-get($grid-breakpoints, sm)) {
          .signature {
            position: relative;

            a {
              position: absolute;
              right: 15px;
            }
          }
        }
      }
    }
  }

  @media (max-width: $toolbar-breakpoint) {
    .content {
      margin-top: 56px !important;
    }
  }
}

mat-sidenav {
  width: 250px;

  .branding {
    height: 64px;
    padding: 8px 10px;
    font-size: 20px;
    font-weight: 500;

    img {
      height: 48px;
      margin: 2px 10px 0 0;
    }

    span {
      position: relative;
      top: 3px;
    }
  }

  .mat-nav-list {
    padding-top: 0;
  }
}
